草庐IT

xcode - 仅公开便利 init 的子类化类

全部标签

java - 在子类中调用父方法返回空值

我试图通过使用父方法但从子类中显示父类的变量值。publicclassA{publicstaticvoidmain(String[]args){Parentp1=newParent();p1.input();}}classParent{privateStringname;publicvoidsetName(StringnewName){name=newName;}publicStringgetName(){returnname;}publicvoidinput(){Stringq="hi";setName(q);Childc1=newChild();c1.input();}}class

Java - 抽象类和子类的二进制兼容性

在Java中,我定义了一个抽象类,里面既有具体的方法,也有抽象的方法,而且必须由第三方开发者独立子类化。只是为了确定:我是否可以对抽象类进行任何更改,使其与它们的类源代码兼容但二进制不兼容?换句话说:在他们编译了他们的子类之后,我可以改变抽象类-除了例如向其中添加一个抽象方法或从中删除一个由子类调用的protected方法,这些子类当然是源代码不兼容的——以一种可能迫使他们重新编译其子类的方式? 最佳答案 如果现在更改您的系统还为时不晚,我建议您这样做。覆盖通常不是自定义功能的好方法,因为它非常脆弱。例如,如果您稍后使用您的客户使用

java - 子类中的方法可以重载父类(super class)中的方法吗?

Java代码:classP{publicvoidhello(){}}classCextendsP{publicvoidhello(Strings){}}我的问题是:类C中的hello是否重载了父类(superclass)P中的同名对象?我的friend说他们不是因为他们不在同一个类(class)。 最佳答案 采用更正式的方法,Java7的Java语言规范指出:Iftwomethodsofaclass(whetherbothdeclaredinthesameclass,orbothinheritedbyaclass,oronedecl

java - 子类需要有构造函数吗?

我一直在学习继承,我只是好奇。我知道即使您不使用super()运算符,子类也会自动调用父类(superclass)的构造函数,所以我想知道子类是否有必要在其中包含构造函数. 最佳答案 如果父类(superclass)没有默认构造函数(或具有子类无法访问的构造函数),则子类需要一个构造函数。如果子类根本没有构造函数,编译器将自动创建一个public构造函数,它只是调用父类(superclass)的默认构造函数。关于调用super():每个构造函数必须做的第一件事是通过调用this()(可能带有一些参数)来调用同一类中的不同构造函数)或

Java泛型 - 从方法返回声明类型的子类型

我的类正在实现一个返回List的父类(superclass)方法.返回的列表是只读的:publicabstractclassSuperClass{publicabstractListgetComponents();}在我的类(class)中,我想返回一个声明为列表的字段——即一个子列表:publicclassSubClassextendsSuperClass{privateListbuttons;publicListgetComponents(){returnbuttons;}}这会产生一个编译器错误,如List不是List的子类型.我能理解为什么它不能编译,因为不允许将JTextFi

java - 在 java 中具有子类化的单例

在java中实现单例的最常见方法是使用具有以下形式的公共(public)访问器方法的私有(private)构造函数--publicclassSingleton{privatestaticSingletoninstance=null;privateSingleton(){}publicstaticsynchronizedSingletongetInstance(){if(instance==null){instance=newSingleton();}returninstance;}}但是,由于构造函数是私有(private)的,因此它阻止了对单例的子类化。有什么方法可以创建允许子类化的

java - 在 URL 中公开数据库内部 ID 是一种不好的做法吗?

在URL中公开数据库内部ID是一种不好的做法吗?例如,假设我有一个users表,其中每一行都有一些ID(主键)。公开URLmyapp.com/accountInfo.html?userId=5(其中5是实际主键)会被视为“坏事”吗?为什么?还假设我们正确地防御了SQL注入(inject)。我最感兴趣的是与JavaWeb技术堆栈(因此使用java标签)相关的答案,但一般性答案也会很有帮助。谢谢。 最佳答案 这取决于您解析URL的方式。如果你允许盲目的SQL注入(inject),那就不好了。您只需验证用户输入的ID。Stackexcha

Java - 是否可以用一个类扩展一个类的所有子类?

Java-是否可以用一个类扩展一个类的所有子类?举个例子来说明吧,实际代码要复杂的多。我有一个Animal类,它有自己的类层次结构。假设它有两个子类:Testarrosa和Viper。publicclassCar{publicabstractStringgetManufacturer();}publicclassTestarossaextendsCar{publicStringgetManufacturer(){return"Ferrari";}}publicclassViperextendsCar{publicStringgetManufacturer(){return"Dodge"

Java 8 流 - 将列表项转换为子类类型

我有一个ScheduleContainer对象列表,流中的每个元素都应转换为ScheduleIntervalContainer类型。有没有办法做到这一点?finalListscheduleIntervalContainersReducedOfSameTimesfinalList>scheduleIntervalContainerOfCurrentDay=newArrayList(scheduleIntervalContainersReducedOfSameTimes.stream().sorted(Comparator.comparing(ScheduleIntervalContain

java - 当子类和父类都是内部类时,Java 中的继承行为

这个问题在这里已经有了答案:Whydoinnerclassesmakeprivatemethodsaccessible?(4个答案)关闭6年前。为什么下面代码中子类Child中可以看到父类Base的私有(private)方法?publicclassTrial{classBase{privatevoidfoo(){}}classChildextendsBase{privatevoidfunc(){super.foo();}}}如果Base和Child类不是内部类,那将是不可能的。为什么内部类会有这种行为?